@echo off
echo ========================================
echo Sino-MCU 清理脚本
echo ========================================

echo 正在清理编译生成的文件...

REM 清理当前目录的编译文件
echo 清理当前目录...
REM 删除生成的汇编文件（保留源文件）
set ASM_DELETED=0
for %%f in (*.asm) do (
    if exist "%%~nf.c" (
        del "%%f"
        echo 删除: %%f
        set /a ASM_DELETED+=1
    )
)

REM 删除目标文件
if exist *.o (
    del *.o
    echo 删除: *.o
)

REM 删除列表文件
if exist *.lst (
    del *.lst
    echo 删除: *.lst
)

REM 删除HEX文件
if exist *.hex (
    del *.hex
    echo 删除: *.hex
)

REM 删除S19文件
if exist *.s19 (
    del *.s19
    echo 删除: *.s19
)

REM 删除MAP文件
if exist *.map (
    del *.map
    echo 删除: *.map
)

REM 删除COD调试文件
if exist *.cod (
    del *.cod
    echo 删除: *.cod
)

REM 删除其他临时文件
if exist *.var (
    del *.var
    echo 删除: *.var
)

if exist *.err (
    del *.err
    echo 删除: *.err
)

if exist *.tmp (
    del *.tmp
    echo 删除: *.tmp
)

REM 清理输出目录
echo.
echo 清理输出目录...
if exist Output\*.* (
    del /Q Output\*.*
    echo 清理: Output\*.*
)

REM 清理调试目录
if exist Debug\*.* (
    del /Q Debug\*.*
    echo 清理: Debug\*.*
)

REM 清理系统目录
if exist System\*.* (
    del /Q System\*.*
    echo 清理: System\*.*
)

echo.
echo ========================================
echo 清理完成!
echo.
echo 已清理的文件类型:
echo   - 生成的汇编文件 (*.asm)
echo   - 目标文件 (*.o)
echo   - 列表文件 (*.lst)
echo   - HEX文件 (*.hex)
echo   - S19文件 (*.s19)
echo   - MAP文件 (*.map)
echo   - 调试文件 (*.cod)
echo   - 临时文件 (*.var, *.err, *.tmp)
echo   - Output目录内容
echo   - Debug目录内容
echo   - System目录内容
echo.
echo 保留的文件:
echo   - C源文件 (*.c)
echo   - 头文件 (*.h)
echo   - 包含文件 (*.inc)
echo   - 链接脚本 (*.lkr)
echo   - 库文件 (*.lib)
echo   - 工程文件 (*.Proj)
echo ========================================

REM pause